package max.sort.select;

import max.Swap;

/**
 * @author Max
 * @date 2021年4月13日
 * @description
 *
 */
public class SelectSort {

	private static final SelectSort selectSort = new SelectSort();

	private SelectSort() {

	}

	public static SelectSort instance() {
		return selectSort;
	}

	/**
	 * 挑小的，放左边
	 *
	 * @param array
	 * @return
	 */
	public int[] sortAsc1(int[] array) {
		if (array == null || array.length < 2) {
			return array;
		}
		for (int i = 0; i < array.length; i++) {
			for (int j = i + 1; j < array.length; j++) {
				if (array[i] > array[j]) {
					Swap.array1(array, i, j);
				}
			}
		}
		return array;
	}

	public int[] sortAsc2(int[] array) {
		if (array == null || array.length < 2) {
			return array;
		}
		for (int i = 0; i < array.length; i++) {
			int minIndex = i;
			for (int j = i + 1; j < array.length; j++) {
				minIndex = array[minIndex] > array[j] ? j : minIndex;
			}
			Swap.array1(array, i, minIndex);
		}
		return array;
	}

}
